Next.js 是 the React framework for production (https://nextjs.org/)。相對於在 React 之下可以不受限的建立和組織你的 app,Next.js 提供了一個 framework 讓你組織你的 app,也提供 app 開發過程和上線階段的優化方法。為優化改善開發者經驗,Next.js 在開發階段支援 TypeScript,提供 ESLint integration 和 Fast Refresh。Next.js 號稱是一個 zero-configuration, single-command toolchain 的 React apps。
The Next.js Compiler
在 Next.js 框架下,開發人員使用 developer-friendly 程式語言,如 JSX,TypeScript和現代版本的(modern versions) JavaScript纂寫程式,這些程式在瀏覽器可以理解它們之前,Next.js 需要將它們編譯(compile)成JavaScript。
Next.js 的特點:
Hot Code Reloading: 當偵測到改變時會重新載入網頁
Automatic Routing: 用檔案在 page 目錄檔案系統標示出 URL
Server-Side Rendering: 每一個需求(request)的網頁的 HTML 是在 server 端產生的,server 再將這些 server 端產生的互動式網頁傳給 client 。
Ecosystem Compatibility: with JavaScript, Node and React。
Automatic Coding Splitting
Prefetching
Dynamic Components
Static Exports
TypeScript Support